/*************************************************************************
	> File Name: wchar2char.c
	> Author: 
	> Mail: 
	> Created Time: 2022年01月11日 星期二 14时45分46秒
 ************************************************************************/

#include<stdio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <wchar.h>
#include <locale.h>
#define array_size(ar) (sizeof(ar) / sizeof(ar[0]))

wchar_t *to_wchar(wchar_t **ppDest, const char *pSrc)
{

    int len = 0;
    int ret = 0;

    len = strlen(pSrc) + 1;

    if (len <= 1) return *ppDest;

    *ppDest = (wchar_t*)malloc (len*sizeof(wchar_t));

    /*如果第一个参数为NULL,则可以用来返回宽字符的长度*/
    printf ("len:%ld\n", mbstowcs(NULL,pSrc,0)+1);

    ret = mbstowcs(*ppDest, pSrc, len);

    return *ppDest;
}
int main()
{
    wchar_t *pbuf;
    wchar_t wbuf[100];

    setlocale(LC_CTYPE, "zh_CN.utf8");


    to_wchar(&pbuf, "曹斌鑫");
    printf ("wlen:%ld\n", wcslen(pbuf));

    free(pbuf);

    return 0;
}
